home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / Libraries / Set 32 / set32.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-21  |  1.3 KB  |  64 lines  |  [TEXT/R*ch]

  1. /**********************************************************
  2.  
  3.     Copyright (c) Dale Semchishen 1997
  4.     All Rights Reserved
  5.  
  6.     set32.h
  7.  
  8.     Description:
  9.         Definitions for the 32 bit set manipulation library
  10.  
  11.  
  12.  **********************************************************/
  13.  
  14. #ifndef __SET32__
  15. #define __SET32__
  16.  
  17. #ifdef CPP_COMPILER
  18. extern "C" {
  19. #endif
  20.  
  21.  
  22. /*------------------------ Types --------------------------*/
  23.  
  24. typedef UINT4  sSET32;    /* the 32 bit set */
  25.  
  26.  
  27. /*------------------------ Macros -------------------------*/
  28.  
  29. #define set32_Assign( destbits, newvalue )  ((destbits) = (newvalue))
  30.  
  31. #define set32_Not( destbits )  ((destbits) ^= (~0))
  32.  
  33. #define set32_And( destbits, srcbits )  ((destbits) &= (srcbits))
  34.  
  35. #define set32_Or( destbits, srcbits )  ((destbits) |= (srcbits))
  36.  
  37. #define set32_Xor( destbits, srcbits )  ((destbits) ^= (srcbits))
  38.  
  39. #define set32_Tst( srcbits )  (srcbits)
  40.  
  41. #define set32_Set1( destbits, bitnum )  ((destbits) |= (1L << (bitnum)))
  42.  
  43. #define set32_Clr1( destbits, bitnum )  ((destbits) &= ~(1L << (bitnum)))
  44.  
  45. #define set32_Not1( destbits, bitnum )  ((destbits) ^= (1L << (bitnum)))
  46.  
  47. #define set32_Tst1( srcbits, bitnum )  ((srcbits) & (1L << (bitnum)))
  48.  
  49.  
  50.  
  51. /*------------------ Function Prototypes ------------------*/
  52.  
  53. BYTE set32_Count
  54. (
  55.     sSET32  bitset      /* I: the bitset to count the '1's of */
  56. );
  57.  
  58.  
  59. #ifdef CPP_COMPILER
  60. }
  61. #endif
  62.  
  63. #endif
  64.